package com.office.api;

import com.office.api.response.Response;
import org.springframework.ai.document.Document;
import org.springframework.web.multipart.MultipartFile;

import jakarta.servlet.http.HttpServletRequest;

import java.util.List;
import java.util.Map;

/**
 * rag
 * @author 数字牧马人
 */

public interface IRAGService {

    Response<List<String>> queryRagTagList();

    Response<String> uploadFile(String ragTag, List<MultipartFile> files);

    Response<String> analyzeGitRepository(String repoUrl, String userName, String token) throws Exception;

    Response<String> clearRagTagList();

    Response<String> deleteRagTag(String ragTag, HttpServletRequest request);

    Response<List<Document>> queryRagContent(String ragTag);

    Response<String> deleteDocument(String documentId, HttpServletRequest request);

    Response<List<Document>> searchKnowledgeBase(Map<String, Object> request);

    Response<Map<String, Object>> getKnowledgeBaseStats();

    Response<Map<String, List<Document>>> batchQueryKnowledgeBases(Map<String, Object> request);

}
